Various forms of network-based storage systems exist today. These forms include network attached storage (NAS), storage area networks (SANs), and others. Network storage systems are commonly used for a variety of purposes, such as providing multiple users with access to shared data, backing up critical data (e.g., by data mirroring), and the like.
A network-based storage system typically includes at least one storage server, which is a processing system configured to store and retrieve data on behalf of one or more client processing systems (“clients”). A storage server may be a file server, which is sometimes called a “filer”. A filer operates on behalf of one or more clients to store and manage shared files. The files may be stored in a storage subsystem that includes one or more arrays of mass storage devices, such as magnetic or optical disks or tapes, by using RAID (Redundant Array of Inexpensive Disks). Hence, the mass storage devices in each array may be organized into one or more separate RAID groups.
Some network-based storage systems are capable of creating and maintaining flexible volumes. A “flexible volume” is flexibly associated with the underlying physical storage device (e.g., disks), such that there does not have to be a one-to-one relationship between a flexible volume and a physical storage device. Currently available filer implementations can serve a large number of discrete flexible volumes. The number of flexible volumes on a filer can be tens of thousands or more. When a storage system is rebooted, it generally takes a long time to initialize the storage operating system and file systems. This is because, when a filer is brought online, all of the existing online volumes, including traditional and flexible volumes, need to be mounted. When a volume is mounted, a large amount of data and metadata are read in from disks. Since the data and metadata can be anywhere on the disks, the read involves random disk access incurring seek and rotational latencies. As the number of volumes on a filer increases, so does the amount of information that needs to be loaded from disks. This causes the boot time of a filter to increase substantially linearly with the number of volumes on the filer.